﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
    /// <summary>
    /// 汽车
    /// </summary>
    public class Car
    {
        // 1：每个对象的属性都是这个对象的私有量
        // 2：当类型的属性是私有量是，使用小驼峰命名


        /// <summary>
        /// 价格
        /// 属性
        /// </summary>
        private float price;

        // 访问器----》price
        // return: 用于返回函数的返回值
        public float Price
        {
            // 读属性值
            get { return this.price; }
            // 写属性值
            set { this.price = value; }
        }

        public string Color { get => color; set => color = value; }

        // 快捷键1
        // 右键----->快速操作和重构-----> 封装字段

        // 快捷键2
        // 利用智能提示 prop
        // Tab键跳转下一个提示
        public int Age { get; set; }

        public string Addres { get; set; }

        public bool Gender { get; set; }


        private string color;




        // 第一种规范：
        // 小驼峰表示私有
        // 大驼峰表示公开
        private string name;

        public string Name
        {
            get { return this.name; }
            set { this.name = value; }
        }




        // 第二种规范写法
        // 下划线表示私有
        // 大驼峰表示公开
        private string _Description;

        public string Description
        {
            get { return _Description; }
            set { this._Description = value; }
        }


        private string classRom;

        /// <summary>
        /// 最新的属性访问器简写方式
        /// 快捷键：prop
        /// required: 必须填写的属性
        /// 提醒用户关注此属性
        /// 它会在对象实例化时（创建对象）用红色级别提醒必须对其进行赋值
        /// </summary>
        public string ClassRom
        {
            get
            {
                if (this.Grade == "23")
                    return this.classRom;
                else
                    return "警告，您无权获取此数据！";
            }
            set
            {
                if (this.Grade == "23")
                    this.classRom = value;
                else
                {
                    Console.WriteLine("警告，您没有权限赋值");
                }
            }
        }

        /// <summary>
        ///年级
        /// </summary>
        public string Grade { get; set; }
    }
}
